#ifndef _VNCCLIENT_H_
#define _VNCCLIENT_H_

#include "BaseClient"
#include "BaseThread.h"
#include "BaseBuffer.h"
#include "EncodeMgr.h"

class CVNCClient:public BaseClient
{
public:
	CVNCClient();
	virtual ~CVNCClient();
public:
	bool Init(BaseClientMgr* mgr,BaseSocket *socket,bool auth,bool shared,unsigned short newid);
	void UnInit();
	unsigned short Destroy();
	unsigned short GetKey();
	void OnServerEvent();


	void Kill();
	void SetBuffer(BaseBuffer *buffer);
	void UpdateMouse();
protected:
	BaseClientMgr* m_lpMgr;
	BaseSocket*    m_lpSocket;
	BaseThread*    m_lpThread;
	EncodeMgr      m_cEncodeMgr;
	unsigned short m_uKey;
	char*          m_szClientName;
}

#endif